home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / util / gnu / xpdf-0.8-src.lha / xpdf-0.8-src / ltk / LTKBox.h < prev    next >
C/C++ Source or Header  |  1998-11-28  |  2KB  |  78 lines

  1. //========================================================================
  2. //
  3. // LTKBox.h
  4. //
  5. // Copyright 1996 Derek B. Noonburg
  6. //
  7. //========================================================================
  8.  
  9. #ifndef LTKBOX_H
  10. #define LTKBOX_H
  11.  
  12. #ifdef __GNUC__
  13. #pragma interface
  14. #endif
  15.  
  16. #include <stddef.h>
  17. #include <X11/Xlib.h>
  18. #include "gtypes.h"
  19. #include "LTKBorder.h"
  20. #include "LTKWidget.h"
  21.  
  22. //------------------------------------------------------------------------
  23. // LTKBox
  24. //------------------------------------------------------------------------
  25.  
  26. class LTKBox: public LTKWidget {
  27. public:
  28.  
  29.   //---------- constructor and destructor ----------
  30.  
  31.   LTKBox(char *name1, int cols1, int rows1,
  32.      int left1, int right1, int top1, int bottom1,
  33.      LTKBorder border1, int xfill1, int yfill1, ...);
  34.  
  35.   virtual ~LTKBox();
  36.  
  37.   //---------- access ----------
  38.  
  39.   virtual GBool isBox() { return gTrue; }
  40.   virtual void setParent(LTKWindow *parent1);
  41.   virtual void setCompoundParent(LTKWidget *compParent1);
  42.   int getXFill() { return xfill; }
  43.   int getYFill() { return yfill; }
  44.  
  45.   //---------- special access ----------
  46.  
  47.   void setBorder(LTKBorder border1);
  48.  
  49.   //---------- layout ----------
  50.  
  51.   GBool checkFills(char **err);
  52.   virtual void layout1();
  53.   virtual void layout2(int x1, int y1, int width1, int height1);
  54.   virtual void layout3();
  55.   virtual void map();
  56.  
  57.   //---------- drawing ----------
  58.  
  59.   virtual void redraw();
  60.   virtual void redrawBackground();
  61.  
  62. protected:
  63.  
  64.   LTKWidget *&get(int col, int row) { return contents[row*cols + col]; }
  65.   LTKBox *getBox(int col, int row)
  66.     { return (LTKBox *)contents[row*cols + col]; }
  67.  
  68.   int cols, rows;        // # columns, # rows
  69.   int left, right;        // horizontal padding
  70.   int top, bottom;        // vertical padding
  71.   LTKBorder border;        // no/raised/sunken border
  72.   int borderWidth;        // border size
  73.   int xfill, yfill;        // fill sizes (0 = fit)
  74.   LTKWidget **contents;        // contents, in row-major order
  75. };
  76.  
  77. #endif
  78.